//
//  JPFMDatabaseQueueManager.m
//  JPKY
//
//  Created by 周述坚 on 16/11/16.
//  Copyright © 2016年 Vitas. All rights reserved.
//

#import "JPFMDatabaseQueueManager.h"

@implementation JPFMDatabaseQueueManager

/**
 *  说明 : 什么时候,第一次调用这个方法,就什么时候,为APP创建一个数据库文件
 */
+ (instancetype)sharedManager {
    static JPFMDatabaseQueueManager *instance;
    
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        
        // 指定数据库所在的沙盒路径
        NSString *dbPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES).lastObject stringByAppendingPathComponent:@"UserData01.db"];
        //     NSLog(@"%@",dbPath);
        
        // 在指定路径下载创建一个queue实例 / 对象,和数据库文件
        instance = [self databaseQueueWithPath:dbPath];
        
        // 拿到instance,说明数据库文件已经有了,紧接着需要在该数据库文件里面创建数据库表
        [instance inDatabase:^(FMDatabase *db) {
            //db这个数据库文件句柄,执行建表的SQL语句
            [db executeUpdate:@"create table if not exists t_person(id integer primary key not null, name text, sex text,IDNumber text,tell text, height text,weight integer,native text,address text);"];
        }];
    });
    return instance;
}

/**
 *  该方法的实现仅供参考
 */
- (void)createTableWith:(NSString *)createSQL {
    // 拿到instance,说明数据库文件已经有了,紧接着需要在该数据库文件里面创建数据库表
    [self inDatabase:^(FMDatabase *db) {
        //db这个数据库文件句柄,执行建表的SQL语句
        [db executeUpdate:createSQL];
    }];
}

@end
